Puntero: SUPER
El SUPER puntero es una variable especial que se utiliza para la programación orientada a objetos.
SUPER es el puntero de un bloque de funciones a la instancia de bloque de funciones base a partir de la cual se generó el bloque de funciones. El SUPER puntero también permite el acceso a la implementación de los métodos del bloque de función base (clase base). A SUPER El puntero está disponible automáticamente para cada bloque de función. Puedes usar SUPER solo en métodos y en las implementaciones de bloques de funciones asociadas.
Desreferenciación del puntero: SUPER^
Utilizando el SUPER puntero: con el SUPER palabra clave, llama a un método que es válido en la instancia de la clase básica o clase principal.
S T
SUPER^.METH_DoIt();
FBD/CFC/LD

Uso de SUPER y THIS punteros
FUNCTION_BLOCK FB_Base
VAR_OUTPUT
        iCnt : INT;
END_VAR
METHOD METH_DoIt : BOOL
iCnt := -1;
METHOD METH_DoAlso : BOOL
METH_DoAlso := TRUE;
FUNCTION_BLOCK FB_1 EXTENDS FB_Base
VAR_OUTPUT
        iBase : INT;
END_VAR
THIS^.METH_DoIt();  //Call of the methods of FB_1
THIS^.METH_DoAlso();
SUPER^.METH_DoIt();   //Call of the methods of FB_Base
SUPER^.METH_DoAlso();
iBase := SUPER^.iCnt;
METHOD METH_DoIt : BOOL
iCnt := 1111;
METH_DoIt := TRUE;
PROGRAM PLC_PRG
VAR
    myBase : FB_Base;
    myFB_1 : FB_1;
    iTHIS : INT;
    iBase : INT;
END_VAR
myBase();
iBase := myBase.iCnt;
myFB_1();
iTHIS := myFB_1.iCnt;Sugerencia
THIS aún no está implementado para la lista de instrucciones (IL).